'''
数据处理层：实现连接数据库，写数据库，读数据库
'''

import pymysql

host = 'localhost'
port = 3307
user = 'root'
password = '123456'
database = 'test'
charset = 'utf8'


def get_conn():
    db = pymysql.Connect(host=host, port=port, user=user, password=password, database=database, charset=charset)
    # print('数据库已连接')
    return db


def read_data(sql):
    db = get_conn()
    cursor = db.cursor()
    data = None
    try:
        cursor.execute(sql)
        data = cursor.fetchall()
        # print('记录已读取')
    except Exception as e:
        print(e)
    cursor.close()
    db.close()
    return data


def write_data(sql):
    db = get_conn()
    cursor = db.cursor()
    rows = 0
    try:
        rows = cursor.execute(sql)
        db.commit()
        # print('记录已写入')
    except Exception as e:
        db.rollback()
        print(e)

    cursor.close()
    db.close()
    return rows


if __name__ == '__main__':
    # # 测试一下 get_conn()
    # print(get_conn())

    # # 测试一下 read_data()
    # sql = "select * from t2 where name = '111'"
    # data_discuz = read_data(sql)
    # print(data_discuz)

    # 测试一下 write_data()
    sql = "insert into t2 values (null,'wangwu','123')"
    sql = "update t2 set password = '1234'"
    print(write_data(sql))
